package com.zlt.bkparking.entity;

import lombok.ToString;

import java.util.ArrayList;
import java.util.List;
@ToString
public class AppUserExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AppUserExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAuIdIsNull() {
            addCriterion("au_id is null");
            return (Criteria) this;
        }

        public Criteria andAuIdIsNotNull() {
            addCriterion("au_id is not null");
            return (Criteria) this;
        }

        public Criteria andAuIdEqualTo(String value) {
            addCriterion("au_id =", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdNotEqualTo(String value) {
            addCriterion("au_id <>", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdGreaterThan(String value) {
            addCriterion("au_id >", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdGreaterThanOrEqualTo(String value) {
            addCriterion("au_id >=", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdLessThan(String value) {
            addCriterion("au_id <", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdLessThanOrEqualTo(String value) {
            addCriterion("au_id <=", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdLike(String value) {
            addCriterion("au_id like", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdNotLike(String value) {
            addCriterion("au_id not like", value, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdIn(List<String> values) {
            addCriterion("au_id in", values, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdNotIn(List<String> values) {
            addCriterion("au_id not in", values, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdBetween(String value1, String value2) {
            addCriterion("au_id between", value1, value2, "auId");
            return (Criteria) this;
        }

        public Criteria andAuIdNotBetween(String value1, String value2) {
            addCriterion("au_id not between", value1, value2, "auId");
            return (Criteria) this;
        }

        public Criteria andAuUsernameIsNull() {
            addCriterion("au_username is null");
            return (Criteria) this;
        }

        public Criteria andAuUsernameIsNotNull() {
            addCriterion("au_username is not null");
            return (Criteria) this;
        }

        public Criteria andAuUsernameEqualTo(String value) {
            addCriterion("au_username =", value, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuUsernameNotEqualTo(String value) {
            addCriterion("au_username <>", value, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuUsernameGreaterThan(String value) {
            addCriterion("au_username >", value, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("au_username >=", value, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuUsernameLessThan(String value) {
            addCriterion("au_username <", value, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuUsernameLessThanOrEqualTo(String value) {
            addCriterion("au_username <=", value, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuUsernameLike(String value) {
            addCriterion("au_username like", value, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuUsernameNotLike(String value) {
            addCriterion("au_username not like", value, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuUsernameIn(List<String> values) {
            addCriterion("au_username in", values, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuUsernameNotIn(List<String> values) {
            addCriterion("au_username not in", values, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuUsernameBetween(String value1, String value2) {
            addCriterion("au_username between", value1, value2, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuUsernameNotBetween(String value1, String value2) {
            addCriterion("au_username not between", value1, value2, "auUsername");
            return (Criteria) this;
        }

        public Criteria andAuPasswordIsNull() {
            addCriterion("au_password is null");
            return (Criteria) this;
        }

        public Criteria andAuPasswordIsNotNull() {
            addCriterion("au_password is not null");
            return (Criteria) this;
        }

        public Criteria andAuPasswordEqualTo(String value) {
            addCriterion("au_password =", value, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuPasswordNotEqualTo(String value) {
            addCriterion("au_password <>", value, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuPasswordGreaterThan(String value) {
            addCriterion("au_password >", value, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("au_password >=", value, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuPasswordLessThan(String value) {
            addCriterion("au_password <", value, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuPasswordLessThanOrEqualTo(String value) {
            addCriterion("au_password <=", value, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuPasswordLike(String value) {
            addCriterion("au_password like", value, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuPasswordNotLike(String value) {
            addCriterion("au_password not like", value, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuPasswordIn(List<String> values) {
            addCriterion("au_password in", values, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuPasswordNotIn(List<String> values) {
            addCriterion("au_password not in", values, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuPasswordBetween(String value1, String value2) {
            addCriterion("au_password between", value1, value2, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuPasswordNotBetween(String value1, String value2) {
            addCriterion("au_password not between", value1, value2, "auPassword");
            return (Criteria) this;
        }

        public Criteria andAuSaltIsNull() {
            addCriterion("au_salt is null");
            return (Criteria) this;
        }

        public Criteria andAuSaltIsNotNull() {
            addCriterion("au_salt is not null");
            return (Criteria) this;
        }

        public Criteria andAuSaltEqualTo(String value) {
            addCriterion("au_salt =", value, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuSaltNotEqualTo(String value) {
            addCriterion("au_salt <>", value, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuSaltGreaterThan(String value) {
            addCriterion("au_salt >", value, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuSaltGreaterThanOrEqualTo(String value) {
            addCriterion("au_salt >=", value, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuSaltLessThan(String value) {
            addCriterion("au_salt <", value, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuSaltLessThanOrEqualTo(String value) {
            addCriterion("au_salt <=", value, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuSaltLike(String value) {
            addCriterion("au_salt like", value, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuSaltNotLike(String value) {
            addCriterion("au_salt not like", value, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuSaltIn(List<String> values) {
            addCriterion("au_salt in", values, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuSaltNotIn(List<String> values) {
            addCriterion("au_salt not in", values, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuSaltBetween(String value1, String value2) {
            addCriterion("au_salt between", value1, value2, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuSaltNotBetween(String value1, String value2) {
            addCriterion("au_salt not between", value1, value2, "auSalt");
            return (Criteria) this;
        }

        public Criteria andAuNicknameIsNull() {
            addCriterion("au_nickname is null");
            return (Criteria) this;
        }

        public Criteria andAuNicknameIsNotNull() {
            addCriterion("au_nickname is not null");
            return (Criteria) this;
        }

        public Criteria andAuNicknameEqualTo(String value) {
            addCriterion("au_nickname =", value, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuNicknameNotEqualTo(String value) {
            addCriterion("au_nickname <>", value, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuNicknameGreaterThan(String value) {
            addCriterion("au_nickname >", value, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuNicknameGreaterThanOrEqualTo(String value) {
            addCriterion("au_nickname >=", value, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuNicknameLessThan(String value) {
            addCriterion("au_nickname <", value, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuNicknameLessThanOrEqualTo(String value) {
            addCriterion("au_nickname <=", value, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuNicknameLike(String value) {
            addCriterion("au_nickname like", value, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuNicknameNotLike(String value) {
            addCriterion("au_nickname not like", value, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuNicknameIn(List<String> values) {
            addCriterion("au_nickname in", values, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuNicknameNotIn(List<String> values) {
            addCriterion("au_nickname not in", values, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuNicknameBetween(String value1, String value2) {
            addCriterion("au_nickname between", value1, value2, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuNicknameNotBetween(String value1, String value2) {
            addCriterion("au_nickname not between", value1, value2, "auNickname");
            return (Criteria) this;
        }

        public Criteria andAuPhoneIsNull() {
            addCriterion("au_phone is null");
            return (Criteria) this;
        }

        public Criteria andAuPhoneIsNotNull() {
            addCriterion("au_phone is not null");
            return (Criteria) this;
        }

        public Criteria andAuPhoneEqualTo(String value) {
            addCriterion("au_phone =", value, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhoneNotEqualTo(String value) {
            addCriterion("au_phone <>", value, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhoneGreaterThan(String value) {
            addCriterion("au_phone >", value, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("au_phone >=", value, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhoneLessThan(String value) {
            addCriterion("au_phone <", value, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhoneLessThanOrEqualTo(String value) {
            addCriterion("au_phone <=", value, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhoneLike(String value) {
            addCriterion("au_phone like", value, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhoneNotLike(String value) {
            addCriterion("au_phone not like", value, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhoneIn(List<String> values) {
            addCriterion("au_phone in", values, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhoneNotIn(List<String> values) {
            addCriterion("au_phone not in", values, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhoneBetween(String value1, String value2) {
            addCriterion("au_phone between", value1, value2, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhoneNotBetween(String value1, String value2) {
            addCriterion("au_phone not between", value1, value2, "auPhone");
            return (Criteria) this;
        }

        public Criteria andAuPhotoIsNull() {
            addCriterion("au_photo is null");
            return (Criteria) this;
        }

        public Criteria andAuPhotoIsNotNull() {
            addCriterion("au_photo is not null");
            return (Criteria) this;
        }

        public Criteria andAuPhotoEqualTo(String value) {
            addCriterion("au_photo =", value, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuPhotoNotEqualTo(String value) {
            addCriterion("au_photo <>", value, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuPhotoGreaterThan(String value) {
            addCriterion("au_photo >", value, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuPhotoGreaterThanOrEqualTo(String value) {
            addCriterion("au_photo >=", value, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuPhotoLessThan(String value) {
            addCriterion("au_photo <", value, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuPhotoLessThanOrEqualTo(String value) {
            addCriterion("au_photo <=", value, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuPhotoLike(String value) {
            addCriterion("au_photo like", value, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuPhotoNotLike(String value) {
            addCriterion("au_photo not like", value, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuPhotoIn(List<String> values) {
            addCriterion("au_photo in", values, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuPhotoNotIn(List<String> values) {
            addCriterion("au_photo not in", values, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuPhotoBetween(String value1, String value2) {
            addCriterion("au_photo between", value1, value2, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuPhotoNotBetween(String value1, String value2) {
            addCriterion("au_photo not between", value1, value2, "auPhoto");
            return (Criteria) this;
        }

        public Criteria andAuBak1IsNull() {
            addCriterion("au_bak1 is null");
            return (Criteria) this;
        }

        public Criteria andAuBak1IsNotNull() {
            addCriterion("au_bak1 is not null");
            return (Criteria) this;
        }

        public Criteria andAuBak1EqualTo(String value) {
            addCriterion("au_bak1 =", value, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak1NotEqualTo(String value) {
            addCriterion("au_bak1 <>", value, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak1GreaterThan(String value) {
            addCriterion("au_bak1 >", value, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak1GreaterThanOrEqualTo(String value) {
            addCriterion("au_bak1 >=", value, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak1LessThan(String value) {
            addCriterion("au_bak1 <", value, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak1LessThanOrEqualTo(String value) {
            addCriterion("au_bak1 <=", value, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak1Like(String value) {
            addCriterion("au_bak1 like", value, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak1NotLike(String value) {
            addCriterion("au_bak1 not like", value, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak1In(List<String> values) {
            addCriterion("au_bak1 in", values, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak1NotIn(List<String> values) {
            addCriterion("au_bak1 not in", values, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak1Between(String value1, String value2) {
            addCriterion("au_bak1 between", value1, value2, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak1NotBetween(String value1, String value2) {
            addCriterion("au_bak1 not between", value1, value2, "auBak1");
            return (Criteria) this;
        }

        public Criteria andAuBak2IsNull() {
            addCriterion("au_bak2 is null");
            return (Criteria) this;
        }

        public Criteria andAuBak2IsNotNull() {
            addCriterion("au_bak2 is not null");
            return (Criteria) this;
        }

        public Criteria andAuBak2EqualTo(String value) {
            addCriterion("au_bak2 =", value, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuBak2NotEqualTo(String value) {
            addCriterion("au_bak2 <>", value, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuBak2GreaterThan(String value) {
            addCriterion("au_bak2 >", value, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuBak2GreaterThanOrEqualTo(String value) {
            addCriterion("au_bak2 >=", value, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuBak2LessThan(String value) {
            addCriterion("au_bak2 <", value, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuBak2LessThanOrEqualTo(String value) {
            addCriterion("au_bak2 <=", value, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuBak2Like(String value) {
            addCriterion("au_bak2 like", value, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuBak2NotLike(String value) {
            addCriterion("au_bak2 not like", value, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuBak2In(List<String> values) {
            addCriterion("au_bak2 in", values, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuBak2NotIn(List<String> values) {
            addCriterion("au_bak2 not in", values, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuBak2Between(String value1, String value2) {
            addCriterion("au_bak2 between", value1, value2, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuBak2NotBetween(String value1, String value2) {
            addCriterion("au_bak2 not between", value1, value2, "auBak2");
            return (Criteria) this;
        }

        public Criteria andAuStateIsNull() {
            addCriterion("au_state is null");
            return (Criteria) this;
        }

        public Criteria andAuStateIsNotNull() {
            addCriterion("au_state is not null");
            return (Criteria) this;
        }

        public Criteria andAuStateEqualTo(Byte value) {
            addCriterion("au_state =", value, "auState");
            return (Criteria) this;
        }

        public Criteria andAuStateNotEqualTo(Byte value) {
            addCriterion("au_state <>", value, "auState");
            return (Criteria) this;
        }

        public Criteria andAuStateGreaterThan(Byte value) {
            addCriterion("au_state >", value, "auState");
            return (Criteria) this;
        }

        public Criteria andAuStateGreaterThanOrEqualTo(Byte value) {
            addCriterion("au_state >=", value, "auState");
            return (Criteria) this;
        }

        public Criteria andAuStateLessThan(Byte value) {
            addCriterion("au_state <", value, "auState");
            return (Criteria) this;
        }

        public Criteria andAuStateLessThanOrEqualTo(Byte value) {
            addCriterion("au_state <=", value, "auState");
            return (Criteria) this;
        }

        public Criteria andAuStateIn(List<Byte> values) {
            addCriterion("au_state in", values, "auState");
            return (Criteria) this;
        }

        public Criteria andAuStateNotIn(List<Byte> values) {
            addCriterion("au_state not in", values, "auState");
            return (Criteria) this;
        }

        public Criteria andAuStateBetween(Byte value1, Byte value2) {
            addCriterion("au_state between", value1, value2, "auState");
            return (Criteria) this;
        }

        public Criteria andAuStateNotBetween(Byte value1, Byte value2) {
            addCriterion("au_state not between", value1, value2, "auState");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}